#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
    return x*f;
}
int n,a[maxn],k=1;
struct node{
    long long numbe,x;
}b[maxn];
int main(){
    freopen("duel.in","r",stdin);
	freopen("duel.out","w",stdout);
	n=read();
    for(int i=1;i<=n;i++){
        a[i]=read();
    }
    sort(a+1,a+n+1);
    b[1].numbe=1;
    b[1].x=a[1];
    for(int i=2;i<=n;i++){
        if(a[i]==a[i-1]){
            b[k].numbe++;
        }else{
            b[++k].numbe++;
            b[k].x=a[i];
        }
    }
    long long sum=b[1].numbe;
    for(int i=2;i<=k;i++){
        if(b[i].numbe>sum){
            sum=b[i].numbe;
        }
    }
    printf("%lld\n",sum);
    return 0;
}
